Eine Möglichkeit, das Ergebnis der Modularisierungs- und Algorithmisierungsphasen explizit in das Endprodukt aufzunehmen, ist ihre Integration in den Modulkopf. Ein Modulkopf (module header) ist ein Kommentar, der den Zweck des Codemoduls dokumentiert. Der Modulkopf sollte keine Implementierungsdetails beschreiben, weil sich diese kurzfristig ändern können und die Kommentarverwaltung unnötig erschweren. Heben Sie sich die Beschreibung von Details für die Implementationsphase auf.
Nach der Beschreibung des Zwecks skizziert der Modulverantwortliche den Ablauf in einer verbalen oder grafischen Entwurfssprache. Ein Header für das Histogramm-Modul der Beispielanwendung Bibliotheksverwaltung könnte zum Beispiel wie folgt aussehen:
MODUL Monatliche Ausleihestatistik 13111 ZWECK Histogramm der Ausleihehäufigkeiten in BWL, VWL, Recht, Soziologie/Psychologie und Uebrige am Bildschirm ausgeben EINGABE Ausleihehäufigkeiten BWL, VWL, Recht, Psychologie, Uebrige, Ausleihemonat AUSGABE Histogramm AUTOR mlu GEÄNDERT 10.1.2002
Ausleihehäufigkeiten und -monat einlesen Programmtitel ausgeben Für jede Ausleihehäufigkeit: Prompt "Ausleihehäufigkeit" Ausleihehäufigkeit lesen Ausleihehäufigkeit prüfen Prompt "Ausleihemonat" Monatszahl lesen Monatszahl prüfen Ausgabe des Histogramms vorbereiten Maximale Häufigkeit ermitteln Histogramm auf dem Bildschirm ausgeben Ausgabetitel ausgeben Spaltenbezeichner ausgeben Für jede Ausgabehäufigkeit: Zeilenbezeichner ausgeben Balken ausgeben
Der Modulkopf enthält die folgenden Teile:
MODUL <Name> <ev. Klassifikationsnummer der Modulhierarchie> ZWECK <Kurzbeschreibung des Modulinhalts> EINGABE <Inhalte aus anderen Moduln> AUSGABE <Ergebnisse für andere Moduln> AUTOR <Kurzbezeichnung> GEÄNDERT <Datum der letzten Änderung><Entwurfscode>
Der obige Entwurfscode (Pseudocode) ist aus didaktischen Gründen detailliert. In der Praxis wird Pseudocode stärker vom späteren Programmcode abweichen; das heisst, der Entwurf wird in der Regel 5 bis 10 mal gröber als das Programm ausfallen. Algorithmisch anspruchsvolle Probleme werden dabei feiner entworfen als Routinetätigkeiten.
Beispiele entwurfssprachlicher Beschreibungen von TESTS-Code finden Sie in den folgenden Hilfethemen:
Satzverarbeitung in einer Schleife